package utils

import (
	"fmt"
	"log"
	"os"
	"strings"
	"time"

	"github.com/atotto/clipboard"
	"github.com/flopp/go-findfont"
)

// 中文乱码问题
func InitsChinese() {
	//设置中文字体:解决中文乱码问题
	fontPaths := findfont.List()
	for _, path := range fontPaths {
		if strings.Contains(path, "msyh.ttf") || strings.Contains(path, "simhei.ttf") || strings.Contains(path, "simsun.ttc") || strings.Contains(path, "simkai.ttf") {
			os.Setenv("FYNE_FONT", path)
			break
		}
	}
}

// 获取当前工作目录
func GetCurrentPath() string {
	// 获取当前工作目录
	currentDir, errs := os.Getwd()
	if errs != nil {
		log.Fatal(errs)
	}
	return currentDir
}

// 复制
func CopyText(value string) {
	// 复制内容到剪切板
	clipboard.WriteAll(strings.TrimSpace(value))

	/* // 读取剪切板中的内容到字符串
	content, err := clipboard.ReadAll()
	if err != nil {
		panic(err)
	} */
}

// 解析日期字符串
func ParseDateString(timeStr string) string {
	// timeStr := "23 May 25 14:38 +0800"
	layout := "06 Jan 06 15:04 -0700"

	// 解析时间
	t, err := time.Parse(layout, timeStr)
	if err != nil {
		fmt.Println("解析失败:", err)
		return ""
	}

	/* // 输出不同格式
	fmt.Println("原始时间:", timeStr)
	fmt.Println("解析后时间:", t)
	fmt.Println("UTC 时间:", t.UTC())
	fmt.Println("RFC3339 格式:", t.Format(time.RFC3339))
	fmt.Println("自定义格式:", t.Format("2006-01-02 15:04:05"))
	fmt.Println("中文格式:", t.Format("2006年01月02日 15时04分")) */
	return t.Format("06-01-02 15:04")
}
